home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / c / inter40b.zip / INTPRINT.DOC < prev    next >
Text File  |  1993-07-16  |  10KB  |  244 lines

  1.                 INTPRINT v2.24
  2.                             by Ralf Brown
  3.  
  4. The INTPRINT program is hereby donated to the public domain, with the sincere
  5. hope that proper credit will be retained in all copies and derivatives.
  6.  
  7. ------------------------------------------------------------------------------
  8.  
  9. INTPRINT.COM is a simple formatter for the interrupt list.  Use this
  10. program to print only a portion of the list, prevent widow lines at the
  11. beginning of a function call, number the pages, boldface key portions,
  12. center the printout, or create a summary of the function calls.  After
  13. formatting is complete, the total number of pages is displayed on the
  14. screen.
  15.  
  16. Usage:
  17.    intprint [options] intlist [[>|>>]outfile]
  18.  
  19. where the options are:
  20.         -b    boldface the title lines, Return:, and Notes: by overprinting
  21.         -B    boldface by sending printer control sequences
  22.  
  23.     -d    (duplex) print even/odd pages with different margins; suitable
  24.           for binding the printout.
  25.  
  26.         -e    assume printer is in elite mode (96 characters per line), and
  27.           indent the output eight spaces to center the printout.  This
  28.           is primarily for the default printer, as other printers may
  29.           force the equivalent or override this option.
  30.  
  31.         -ffile  create a file containing only the data structures described
  32.               in the interrupt list.
  33.           NOTE: you must put the filename immediately after the 'f'; no
  34.               blanks are allowed.
  35.  
  36.     -Ffile  filter the listing based on include and exclude strings
  37.           in 'file'.  Only entries whose headers match none of the
  38.           exclude strings and at least one of the include strings
  39.           will be processed.  All others will be skipped.
  40.           NOTE: you must put the filename immediately after the 'F'; no
  41.               blanks are allowed.
  42.  
  43.     -H    print a heading on each page indicating which interrupts
  44.           are listed on the page
  45.  
  46.         -iN   indent the output N spaces.  The output device is assumed to be
  47.               at least 80+N characters wide.
  48.           NOTE: you must put the number immediately after the 'i'; no
  49.               blanks are allowed.
  50.  
  51.     -I    assume the printer is capable of producing IBM character
  52.           graphics.  Printers other than "default" may force this option.
  53.  
  54.     -k    keep original divider lines instead of replacing them
  55.           with all dashes.
  56.  
  57.     -lN   print N lines per pages, overriding the printer-specific
  58.           default.  Use 0 to omit page breaks (in this case, the
  59.           reported number of pages and -r page restriction may be
  60.           incorrect unless you also use -L); this can be useful if
  61.           you only want to filter the list before processing it
  62.           further.
  63.  
  64.     -LN   assume N lines on a page.  If this is more than the number of
  65.           lines to print on each page, INTPRINT will use line feeds to
  66.           advance to the next page instead of form feeds.
  67.  
  68.     -m    specify that the interrupt list is in multiple parts beginning
  69.           with the named file.  INTPRINT will increment the last
  70.           character of the name to get the next filename, and continue
  71.           until it is unable to open the file thus selected.
  72.  
  73.         -nN   assume N pages have already been printed, and start numbering
  74.               at N+1.  This option allows you to create a properly-numbered
  75.               printout even if there is not enough disk space to concatenate
  76.           the parts of the interrupt list or hold a complete output file.
  77.           See the examples below.
  78.           NOTE: you must put the number immediately after the 'n'; no
  79.               blanks are allowed.
  80.  
  81.         -p    print the page number at the bottom center of each page
  82.  
  83.     -Pname use control codes for the specified printer (-P? lists the
  84.           supported printers).  The printer name may be given in either
  85.           case and abbreviated to a unique prefix; use either dashes or
  86.           underscores in place of blanks in the printer name.
  87.  
  88.     -rN:M print only pages N through M.  The entire input is processed
  89.           for use in -s and -f summaries (see below) even though only
  90.           a portion is formatted for printing.  If filtering is enabled,
  91.           (see -F), page numbers are based on entries selected by the
  92.           filter file.
  93.           NOTE: you must put the page numbers immediately after the 'r';
  94.           no blanks are allowed.  When using -l0 together with -r,
  95.           you must specify the appropriate page length with -L so
  96.           that page numbers can be computed correctly.
  97.  
  98.         -sfile  create a one-line-per-function summary and write it to "file"
  99.               if -n is also given, the summary will be appended to "file",
  100.               allowing a properly numbered summary file to be created even if
  101.               there is not enough disk space to concatenate the parts of the
  102.               list.  See the examples below.
  103.           NOTE: you must put the filename immediately after the 's'; no
  104.               blanks are allowed.
  105.  
  106.     -tN   select typeface N for the chosen printer (currently supported
  107.           only for the HP).
  108.  
  109.     -wN   (widow lines) search N lines from the end of the page for a
  110.           good place to break.  The default is ten lines; the valid
  111.           range is from 3 to one-half of the page length.
  112.           NOTE: you must put the number immediately after the 'w'; no
  113.               blanks are allowed.
  114.  
  115.     -x    include Index: lines in formatted listing.  These lines are
  116.           are excluded by default because they are intended primarily
  117.           for use by hypertext converters.
  118.  
  119. Options may not be merged; "-ep" is illegal and the "p" will be ignored.
  120. Use "-e -p" instead.
  121.  
  122. The formatted result of the input file is sent to the specified output file,
  123. or to standard output if no output file is given.  Standard output may be
  124. redirected using the usual Unix or MSDOS redirection characters > or >>.  If
  125. you only want a summary file or data formats file, send or redirect the
  126. output to the null device ("NUL" under MSDOS, "/dev/null" under Unix).
  127.  
  128.  
  129. FILTER FILE:
  130. ------------
  131.  
  132. The filter file specified with -F is a simple text file containing
  133. include lines, exclude lines, and comment lines.  Include lines start
  134. with a plus sign (+) in the first column, followed immediately by the
  135. desired string; exclude lines start with a minus sign (-) in the first
  136. column, followed immediately by the desired string.  Comment lines
  137. start with a hash mark (#) in the first column and are ignored.  A
  138. future version of INTPRINT will include alternate forms of include and
  139. exclude lines which will select based on the classification letter in
  140. the divider lines rather than the contents of title lines.
  141.  
  142. If a filter file is specified, only entries whose title lines contain
  143. at least one of the include lines (ignoring uppercase/lowercase
  144. distinctions) and none of the exclude lines are processed.  Thus, a
  145. filter file must contain at least one include line, or INTPRINT will
  146. skip all interrupt entries and print only the non-interrupt text in the
  147. file.
  148.  
  149. All spaces on include and exclude lines are significant.  Thus,
  150.     + DOS
  151. will only match entries containing the four-letter sequence " DOS",
  152. while
  153.     +DOS
  154. will match any entries containing the sequence "DOS", whether or not it
  155. is preceded by a blank.
  156.  
  157. ----cut here----
  158. # SAMPLE.FLT
  159. # Sample filtering file.  Extract MS-DOS calls, but exclude
  160. # DR-DOS-specific, DOS-extender, and non-DOS networking calls.
  161. # Note: a few extraneous calls are still included.
  162. #
  163. + DOS
  164. -DR DOS
  165. -DR-DOS
  166. -DR Multiuser DOS
  167. -Concurrent DOS
  168. -DOS/16M
  169. -DOS4GX
  170. -DOS/4G
  171. -extender
  172. -LAN Manager
  173. -DECnet DOS
  174. #
  175. # end of SAMPLE.FLT
  176. ----cut here----
  177.  
  178.  
  179. ------------------------------------------------------------------------------
  180.  
  181. EXAMPLES:
  182. ---------
  183.  
  184.         Print the interrupt list with page numbers, and create a summary file,
  185.     without concatenating INTERRUP.A, INTERRUP.B, and INTERRUP.C:
  186.  
  187.         A> intprint -sb:interrup.sum -p interrup.a >prn
  188.         116 pages.   [screen output from INTPRINT]
  189.         A> intprint -sb:interrup.sum -p -n116 interrup.b prn
  190.         261 pages.   [screen output from INTPRINT]
  191.         A> intprint -sb:interrup.sum -p -n261 interrup.c >prn
  192.         386 pages.   [screen output from INTPRINT]
  193.  
  194.     or, more easily:
  195.         A> intprint -sb:interrup.sum -m -p interrup.a prn
  196.         942 pages.   [screen output from INTPRINT]
  197.  
  198.         Create only a summary file:
  199.  
  200.         C> intprint -sinterrupt.sum interrup.lst nul
  201.  
  202.     Print only those entries containing the string "DOS", except
  203.     those containing the string "DR-DOS"
  204.  
  205.         C> type dos
  206.         +DOS
  207.         -DR-DOS
  208.  
  209.         C> intprint -Fdos interrup.lst nul
  210.         
  211.  
  212.         Print the interrupt list on an Epson FX80, using 54 lines per page and
  213.         omitting both page numbers and summary:
  214.  
  215.         C> intprint -Pepson -l54 interrup.lst >prn
  216.  
  217.     Print the interrupt list using 120 lines on every 132-line page (using
  218.     superscript mode, for example), and make divider lines using IBM
  219.     character graphics:
  220.  
  221.         C> intprint -I -l120 -L132 interrup.lst >prn
  222.  
  223.     Print only pages 123 through 127, assuming that 106 pages are contained
  224.     in the first section of the list:
  225.  
  226.         C> intprint -n106 -r123:127 interrup.b prn
  227.  
  228.     Print using HP PCL4/5 escape sequences, numbering pages, from file
  229.     "interrup.lst" to file "interrup.pcl", at the default 69 lines per
  230.     page, using form-feeds:
  231.  
  232.         C> intprint -Php -p interrup.lst >interrup.pcl
  233.         942 pages.   [screen output from INTPRINT]
  234.  
  235. ------------------------------------------------------------------------------
  236.  
  237. PORTABILITY:
  238. ------------
  239.  
  240. INTPRINT.C contains the source code for INTPRINT, for those people who are
  241. using the interrupt list on a machine which does not run MSDOS.  This code has
  242. been tested with Turbo C and Mach (BSD 4.3 Unix) "cc".
  243.  
  244.